#!/bin/bash

# AIDE 生产环境数据库初始化脚本
# 用于首次部署时初始化数据库

set -e  # 遇到错误立即退出

echo "🚀 AIDE 生产环境数据库初始化"
echo "=================================="

# 检查环境变量
if [ -z "$DATABASE_URL" ]; then
    echo "❌ 错误: 请设置 DATABASE_URL 环境变量"
    echo "示例: export DATABASE_URL='postgresql://user:password@host:port/database'"
    exit 1
fi

echo "📋 数据库连接信息:"
echo "   DATABASE_URL: ${DATABASE_URL}"

# 检查 Node.js
if ! command -v node &> /dev/null; then
    echo "❌ 错误: 未找到 Node.js，请先安装 Node.js"
    exit 1
fi

# 检查 PostgreSQL 客户端
if ! command -v psql &> /dev/null; then
    echo "⚠️  警告: 未找到 psql 客户端，将使用 Node.js 脚本初始化"
else
    echo "✅ 找到 PostgreSQL 客户端"
fi

# 进入后端目录
cd backend

# 安装依赖（如果需要）
if [ ! -d "node_modules" ]; then
    echo "📦 安装后端依赖..."
    npm install --production
fi

# 运行数据库初始化
echo "🔧 开始初始化数据库..."
node init-database.js

echo ""
echo "🎉 数据库初始化完成!"
echo ""
echo "📝 下一步:"
echo "   1. 启动后端服务: npm start"
echo "   2. 访问应用进行用户注册"
echo "   3. 首次登录时会自动创建看板列配置"
echo ""
echo "🔒 安全提醒:"
echo "   - 请确保数据库密码足够复杂"
echo "   - 建议启用数据库SSL连接"
echo "   - 定期备份数据库"
